package com.web.base.core.facade;

import com.web.base.core.message.AreaRequest;
import com.web.base.core.message.AreaResponse;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 区域接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2018年06月19日
 */
public interface AreaFacade
{

	/**
	 * 添加区域
	 */
	AreaResponse add(AreaRequest request);

	/**
	 * 更新区域
	 */
	AreaResponse update(AreaRequest request);
	
	/**
	 * 查询单个区域
	 */
	AreaResponse get(Integer id);

	/**
	 * 根据区域列表ID查询区域
	 */
	Map<Integer, AreaResponse> getList(Collection<Integer> idList);

	/**
	 * 根据区域列表ID查询区域名称
	 */
	Map<Integer, String> getNameList(Collection<Integer> idList);
	
	/**
	 * 查询区域，树型显示
	 */
	Map<String, List<AreaResponse>> listTree(AreaRequest request);

	/**
	 * 刷新缓存
	 */
	void refresh();
	
}
